home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / flex-2.5 / flex-2 / flex-2.5.3 / MISC / Amiga / SMakefile < prev   
Encoding:
Makefile  |  1995-04-03  |  5.4 KB  |  196 lines

  1. # @(#) $Header: Makefile.in,v 1.2 94/01/04 14:33:19 vern Exp $ (LBL)
  2.  
  3. # If your version of "make" does not define $(MAKE), comment in the
  4. # definition of "MAKE" below.  (You only need to do this if you intend
  5. # to do "make bigcheck" or "make dist".)
  6. MAKE = smake
  7.  
  8. # Possible values for DEFS:
  9. #
  10. # For flex to always generate 8-bit scanners, add "-DDEFAULT_CSIZE=256"
  11. # to DEFS.
  12. #
  13. # For Vax/VMS, add "-DVMS" to DEFS.
  14. #
  15. # For MS-DOS, add "-DMS_DOS" to DEFS.  See the directory MISC/MSDOS for
  16. # additional info.
  17.  
  18. CFLAGS = data=far ignore=85 noicons stackextend optimize
  19. DEFS = define=YYBISON=1 define=YY_NEVER_INTERACTIVE=1
  20. LDFLAGS = noicons
  21. LIBS =
  22.  
  23. # Installation targeting.  Files will be installed under the tree
  24. # rooted at prefix.  flex will be installed in bindir, libfl.lib in
  25. # libdir, FlexLexer.h will be installed in includedir, and the manual
  26. # pages will be installed in mandir with extension manext.
  27. # Raw, unformatted troff source will be installed if INSTALLMAN=man,
  28. # nroff preformatted versions will be installed if INSTALLMAN=cat.
  29.  
  30. prefix = Programmer:other # Change this for your AMIGA system.
  31. exec_prefix = $(prefix)
  32. bindir = $(exec_prefix)/bin
  33. libdir = $(exec_prefix)/lib
  34. includedir = $(prefix)/include
  35. manext = 1
  36. mandir = $(prefix)/man/man$(manext)
  37.  
  38. # You can define this to be "lex" if you want to replace lex at your site.
  39. FLEX = flex
  40.  
  41. INSTALLMAN = man
  42.  
  43. SHELL =
  44. srcdir = .
  45. VPATH =
  46.  
  47. LN_S =
  48. YACC = bison -y
  49. SED = sed
  50. CC = sc
  51. WMERGE = wmerge # from the CWEB distribution
  52. AR = oml
  53. RANLIB =
  54. INSTALL = copy clone
  55. INSTALL_DATA = $(INSTALL)
  56. INSTALL_PROGRAM = $(INSTALL)
  57.  
  58. # You normally do not need to modify anything below this point.
  59. # ------------------------------------------------------------
  60.  
  61. CPPFLAGS = idir=. idir=$(srcdir) $(DEFS)
  62.  
  63. .c.o:
  64.     $(CC) $(CPPFLAGS) $(CFLAGS) $<
  65.  
  66. HEADERS = flexdef.h version.h
  67.  
  68. SOURCES = ccl.c dfa.c ecs.c gen.c main.c misc.c nfa.c parse.y \
  69.     scan.l skel.c sym.c tblcmp.c yylex.c
  70. OBJECTS = ccl.o dfa.o ecs.o gen.o main.o misc.o nfa.o parse.o \
  71.     skel.o sym.o tblcmp.o yylex.o \
  72.     $(libdir)/alloca.o $(libdir)/xmalloc.o
  73.  
  74. LIBSRCS = libmain.c libyywrap.c
  75. LIBOBJS = ansilibmain.o ansilibyywrap.o
  76.  
  77. LINTSRCS = ccl.c dfa.c ecs.c gen.c main.c misc.c nfa.c parse.c \
  78.     scan.c skel.c sym.c tblcmp.c yylex.c
  79.  
  80. DISTFILES = README NEWS COPYING INSTALL FlexLexer.h \
  81.     configure.in conf.in Makefile.in mkskel.sh skel.c flex.skl \
  82.     $(HEADERS) $(SOURCES) $(LIBSRCS) MISC \
  83.     flex.1 scan.c install.sh mkinstalldirs configure
  84.  
  85. DIST_NAME = flex
  86.  
  87. # which "flex" to use to generate scan.c from scan.l
  88. FLEX_EXEC = ./$(FLEX)
  89. FLEX_FLAGS = -t $(PERF_REPORT)
  90. COMPRESSION =
  91. PERF_REPORT = -p
  92.  
  93. FLEXLIB = libfl.lib
  94.  
  95. all: $(FLEX)
  96.  
  97. $(FLEX): $(OBJECTS) $(FLEXLIB) scan.o
  98.     $(CC) $(CFLAGS) link to $(FLEX) $(LDFLAGS) $(OBJECTS) scan.o $(FLEXLIB) $(LIBS)
  99.  
  100. bootflex: $(OBJECTS) $(FLEXLIB) initscan.o
  101.     $(CC) $(CFLAGS) link to $(FLEX) $(LDFLAGS) $(OBJECTS) initscan.o $(FLEXLIB) $(LIBS)
  102.  
  103. parse.c: ansiparse.y
  104.     $(YACC) -d ansiparse.y
  105.     $(SED) "/extern char.*malloc/d" <y.tab.c >parse.tmp
  106.     copy parse.tmp parse.c
  107.     copy y.tab.h parse.h
  108.     @delete y.tab.c y.tab.h parse.tmp
  109. ansiparse.y: $(srcdir)/parse.y parse.ych
  110.     $(WMERGE) $(srcdir)/parse.y parse.ych ansiparse.y
  111.  
  112. parse.h: parse.c
  113.  
  114. scan.c: scan.l
  115.     $(FLEX_EXEC) $(FLEX_FLAGS) $(COMPRESSION) $(srcdir)/scan.l >scan.tmp
  116.     $(SED) s,\"$(srcdir)/scan.l\",\"scan.l\", <scan.tmp >scan.c
  117.     @delete scan.tmp
  118.  
  119. scan.o: scan.c parse.h flexdef.h config.h
  120. initscan.o: initscan.c parse.h flexdef.h config.h
  121. yylex.o: yylex.c parse.h flexdef.h config.h
  122.  
  123. skel.c: flex.skl mkskel.sh
  124.     $(SHELL) $(srcdir)/mkskel.sh $(srcdir)/flex.skl >skel.c
  125.  
  126. main.o: main.c flexdef.h config.h version.h
  127. ccl.o: ccl.c flexdef.h config.h
  128. dfa.o: dfa.c flexdef.h config.h
  129. ecs.o: ecs.c flexdef.h config.h
  130. gen.o: gen.c flexdef.h config.h
  131. misc.o: misc.c flexdef.h config.h
  132. nfa.o: nfa.c flexdef.h config.h
  133. parse.o: parse.c flexdef.h config.h
  134. skel.o: skel.c flexdef.h config.h
  135. sym.o: sym.c flexdef.h config.h
  136. tblcmp.o: tblcmp.c flexdef.h config.h
  137.  
  138. alloca.o: alloca.c
  139.     $(CC) $(CPPFLAGS) $(CFLAGS) define=xmalloc=yy_flex_xmalloc alloca.c
  140.  
  141. alloca.c: $(srcdir)/MISC/alloca.c
  142.     @delete alloca.c
  143.     copy $(srcdir)/MISC/alloca.c .
  144.  
  145. test: check
  146. check: flex
  147.     $(FLEX_EXEC) $(FLEX_FLAGS) $(COMPRESSION) $(srcdir)/scan.l > temp_a
  148.     $(SED) s,"$(srcdir)/scan.l","scan.l", < temp_a > temp_b
  149.     -diff scan.c temp_b -l10000 -w
  150.     @delete temp_?
  151.     @echo "Check successful, using COMPRESSION='$(COMPRESSION)'"
  152.  
  153. bigcheck:
  154.     delete scan.c
  155.     $(MAKE) COMPRESSION=-C check
  156.     delete scan.c
  157.     $(MAKE) COMPRESSION=-Ce check
  158.     delete scan.c
  159.     $(MAKE) COMPRESSION=-Cm check
  160.     delete scan.c
  161.     $(MAKE) COMPRESSION=-Cfea check
  162.     delete scan.c
  163.     $(MAKE) COMPRESSION=-CFer check
  164.     delete scan.c
  165.     $(MAKE) COMPRESSION=-l PERF_REPORT= check
  166.     delete scan.c
  167.     $(MAKE)
  168.     @echo "All checks successful"
  169.  
  170. $(FLEXLIB): $(LIBOBJS)
  171.     $(AR) $(FLEXLIB) R $(LIBOBJS)
  172.  
  173. $(FLEX).man: flex.1 # SMAKE can't `cd', sorry.  And, I don't have nroff.
  174. #    cd $(srcdir), nroff -man flex.1 >$(FLEX).man
  175.  
  176. install: $(FLEX) $(FLEXLIB)
  177.     $(INSTALL_PROGRAM) $(FLEX) $(bindir)/$(FLEX)
  178. #    @delete $(bindir)/$(FLEX)++
  179.     $(INSTALL_DATA) $(FLEXLIB) $(libdir)/libfl.lib
  180.     $(INSTALL_DATA) $(srcdir)/FlexLexer.h $(includedir)/FlexLexer.h
  181.  
  182. ansilibmain.o: ansilibmain.c
  183. ansilibmain.c: libmain.c libmain.ch
  184.     $(WMERGE) libmain.c libmain.ch ansilibmain.c
  185. ansilibyywrap.o: ansilibyywrap.c
  186. ansilibyywrap.c: libyywrap.c libyywrap.ch
  187.     $(WMERGE) libyywrap.c libyywrap.ch ansilibyywrap.c
  188.  
  189. clean:
  190.     -delete parse.(c|h) ansi\#? \#?.(bak|o|lnk) \
  191.     alloca.c lex.yy.(c|cc) $(FLEXLIB)
  192.  
  193. veryclean: clean
  194.     -delete $(FLEX) scan.c
  195.